This invention relates to adaptive equalization in a high-speed serial interface.
Many integrated circuit devices can be programmed.
Examples of programmable integrated circuit devices include volatile and non-volatile memory devices, field programmable gate arrays (“FPGAs”), programmable logic devices (“PLDs”) and complex programmable logic devices (“CPLDs”). Other examples of programmable integrated circuit devices include application-specific integrated circuits (ASICs), processors and microcontrollers that are programmable via internal or external memory. Programmable integrated circuit devices, such as programmable logic devices (PLDs) in particular, frequently incorporate high-speed serial interfaces to accommodate high-speed (i.e., greater than 1 Gbps) serial I/O standards. Typically, a PLD may have multiple high-speed serial interface channels. In use, different ones of such channels may have different characteristics, particularly if the user configures them for different standards, but also because of the length of the serial link involved and transmission conditions between the interface and the remote device. With multiple such channels all having different characteristics, the user is faced with the need to provide different amounts of equalization to compensate for attenuation. The amount of equalization of any particular setting in any particular channel may vary with backplane length, backplane type (e.g., backplane material), backplane aging, process conditions at the time of device manufacture, data rate, voltage, temperature, etc.
More generally, when a high-speed signal propagates through a transmission medium, not all of the frequency components get attenuated equally. In general high frequency components are attenuated more than low frequency components. The result is ISI (inter-symbol interference), which causes jitter in the ideal timing of a signal. Equalization is a method to boost each frequency component in accordance with its attenuation. Generally, high-frequency components are boosted more than low-frequency components.
In equalization, an equalization curve is selected with the goal of matching the transfer function of the equalization curve as closely as possible to the inverse of the transfer function of the transmission medium. The problem is that there are many possible combinations of equalization solutions and it requires a lot of time to determine the optimal setting using trial-and-error. An adaptive equalizer includes an equalizer and an adaptation engine which automatically chooses one of the possible equalization curves so that the combination of the two transfer functions is as flat as desired.